home *** CD-ROM | disk | FTP | other *** search
/ Best of www.BestZips.com (Collector's Edition) / Best of WWW.BESTZIPS.COM Collector's Edition (JCSM Shareware) (JCS Marketing).ISO / internet / zannetb1.zip / manual.doc (.txt) next >
Word Document  |  1996-12-16  |  92KB  |  713 lines

  1.  
  2.  
  3.                            ZanNet Manual (Beta 1)
  4. by Zan Software
  5.  
  6.  
  7. Table of Contents
  8.  
  9. 1     Copyright/License/Warranty InformationΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.  2
  10. License AgreementΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ 2
  11. Evaluation and RegistrationΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..    2
  12. DistributionΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ   2
  13. Registered VersionΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.     2
  14. Governing LawΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..  2
  15. Disclaimer of WarrantyΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..  3
  16.  
  17. 2     About ZanNet - What is it?ΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ   3
  18.  
  19. 3     Operating System and Software RequirementsΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.     4
  20.  
  21. 4     Installation and SetupΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ     4
  22.             The Windows 95 Network ClientΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.     4
  23.             The Unix ServerΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ 4
  24.             Configuring Your Telnet Login ScriptΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.     6
  25.             The Setup DialogΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..     7
  26.             Logging InΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.   8
  27.  
  28.  
  29. 5     Unix Porting and CompatibilityΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.      9
  30.  
  31. 6     Known Limitations, Problems, and Other NotesΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..   9
  32.  
  33. 7     Performance ConsiderationsΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..  12
  34.             The Status DialogΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.     12
  35.             Killing I/OΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.  13
  36.                  Killing I/O with the Hot-keyΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ.  13
  37.                  Killing I/O with the ZanNet Status Dialog Buttons..
  38. 13
  39.  
  40. 8     Ordering InformationΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ 14
  41.             Entering Your Registration KeyΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ    14
  42.  
  43. 9     Product Support ΓǪΓǪΓǪΓǪΓǪΓǪΓǪ..ΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ. 14
  44.  
  45. 10    Zan Software Contact InformationΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪΓǪ      15
  46.  
  47.  
  48. 1. Copyright/License/Warranty
  49.  
  50. ZanNet, Copyright 1996-1997 by Zan Software
  51. All Rights Reserved.
  52.  
  53. License Agreement
  54.  
  55. Please read the following terms and conditions before using this software.
  56. Your use of this software indicates your acceptance of this license
  57. agreement and warranty.
  58.  
  59. Evaluation and Registration
  60.  
  61. This is not free software.  You are hereby licensed to use this software
  62. for evaluation purposes without charge for a period of 30 days.  If you use
  63. this software after the 30 day evaluation period a registration fee of $95
  64. is required.  Payments must be in US dollars drawn on a US bank, and should
  65. be sent to Zan Software, 332 SE 7th Ave, Delray Beach, FL, 33483. Credit
  66. card ordering through e-mail and fax, in addition to quantity discounts are
  67. available, as described in the included file: order.doc. All orders must
  68. include this form.
  69.  
  70. Unregistered use of ZanNet after the 30-day evaluation period is in
  71. violation of U.S. and international copyright laws.
  72.  
  73. Distribution
  74.  
  75. You are hereby licensed to make as many copies of the trial version of this
  76. software and documentation as you wish; give exact copies of the original
  77. trial version to anyone; and distribute the trial version of the software
  78. and documentation in its unmodified form via electronic means.  There is no
  79. charge for any of the above.
  80.  
  81. You are specifically prohibited from charging, or requesting donations, for
  82. any such copies, however made; and from distributing the software and/or
  83. documentation with other products (commercial or otherwise) without prior
  84. written permission.
  85.  
  86. Registered Version
  87.  
  88. One registered copy of ZanNet may either be used by a single person who
  89. uses the software personally on one or more computers, or installed on a
  90. single workstation used non-simultaneously by multiple people, but not
  91. both.
  92.  
  93. Governing Law
  94.  
  95. This agreement shall be governed by the laws of the State of Florida.
  96.  
  97. Disclaimer of Warranty
  98.  
  99. THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT
  100. WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES
  101. WHETHER EXPRESSED OR IMPLIED.
  102.  
  103. Good data processing procedure dictates that any program be thoroughly
  104. tested with non-critical data before relying on it.  The user must assume
  105. the entire risk of using the program.  ANY LIABILITY OF THE SELLER WILL BE
  106. LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.
  107.  
  108. 2. About ZanNet - What is it?
  109.  
  110. ZanNet is a Windows 95 network client and Unix server that provide you with
  111. a Windows 95 network drive to access your server files. The product
  112. includes network provider and redirector for Windows 95 in addition to a
  113. Unix server. The server portion ships with both POSIX compliant source code
  114. and binary support for select Unix platforms. ZanNet is intended to replace
  115. both File Transfer Protocol (FTP) and Telnet programs currently used to
  116. access web page and other files through an Internet Service Provider (ISP).
  117.  
  118. Windows to Unix networking is not new. There are a number of solutions
  119. including the Network File System (NFS) and Samba. Unfortunately, with
  120. todayΓÇÖs fledgling Internet service market, very few service providers are
  121. willing or able to give their customers access to these servers. In most
  122. cases, Windows users that want to manage a web page must do so using both
  123. FTP and Telnet. With ZanNet, you can get the functionality of a Windows
  124. network drive without requiring any configuration on the part of your
  125. service provider. Additionally, the ZanNet client is designed to handle
  126. slow or dead servers by allowing you to stop network I/O at any time
  127. through both hot-key sequences and control buttons. This feature is
  128. extremely important for applications that have the potential to lock-up
  129. Windows while waiting for network I/O (for example the Windows Explorer).
  130.  
  131. To use ZanNet you must have Windows 95, MicrosoftΓÇÖs TCP/IP Protocol,
  132. WinSock, a Unix style shell account, and an Internet connection. The ZanNet
  133. client is installed in the same fashion as any other network client (see
  134. installation instructions later for details). Once the client is installed,
  135. you must install the server portion by uploading either the source or
  136. binary files depending on whether binaries for your version of Unix are
  137. included. When both client and server are ready, you need to modify the
  138. Telnet login script so the ZanNet client can login to the Unix machine and
  139. execute the ZanNet server. Once the server is started, it will open a
  140. connection back to your Windows machine through a TCP/IP port that you can
  141. define in the client configuration. The ZanNet client uses WinSock to
  142. establish a control connection through Telnet to the server while regular
  143. file system requests are handled at the Windows driver level directly
  144. through the Microsoft TCP/IP stack.
  145.  
  146. Once ZanNet is set up, you can configure it so that Windows automatically
  147. maps a network drive to your Unix shell account whenever you establish a
  148. connection to the Internet. Then, manage your web files through whatever
  149. Windows utility or application you like. Be sure to read sections 6:  Known
  150. limitations and problems and 7:  Performance Considerations for notes on
  151. using ZanNet.
  152.  
  153. 3. Operating System and Software Requirements
  154.  
  155. The ZanNet software package consists of a Windows 95 client and Unix
  156. server. Source code for the server portion is also included, allowing ports
  157. to various Unix platforms. Because that source code is POSIX compliant,
  158. other operating systems supporting the POSIX standard may be compatible
  159. with ZanNet source code.
  160.  
  161. For the client side, you will need:
  162.  
  163.       ΓÇó Windows 95.
  164.       ΓÇó WinSock running on MicrosoftΓÇÖs TCP/IP Protocol.
  165.       ΓÇó An established Internet connection.
  166.  
  167.  
  168. In most cases, ZanNet will NOT work with other TCP/IP stacks from vendors
  169. other than Microsoft. The ZanNet client interfaces with both WinSock and
  170. MicrosoftΓÇÖs TCP/IP VxD Interface. Confused yet? As long as you are running
  171. the TCP/IP protocol that came with Windows 95, you should be fine.
  172.  
  173. For the server side, you will need:
  174.  
  175.       ΓÇó A Unix style shell account accessible over the Internet.
  176.       ΓÇó File Transfer Protocol (FTP) access to that account.
  177.       ΓÇó A ZanServer binary for your shell accountΓÇÖs operating system and
  178.         hardware     platform OR C compiler access.
  179.  
  180. 4. Installation and Setup
  181.  
  182. The Windows 95 Network Client
  183.  
  184. Before you begin installation of ZanNet, we assume you have Windows 95 with
  185. a working Internet connection. Additionally, you should be running
  186. MicrosoftΓÇÖs TCP/IP Protocol and MicrosoftΓÇÖs WinSock (both are shipped with
  187. Windows 95). You can verify the protocol by checking the Control Panel |
  188. Network dialog where you should see TCP/IP listed as an existing component.
  189.  
  190.  
  191. To install the ZanNet client, click on the AddΓǪ button within that same
  192. dialog and select Client as the type of network component you want to
  193. install. Click on that dialogΓÇÖs AddΓǪ button to get to the Select Network
  194. Client dialog. Here, you need to click on the Have DiskΓǪ button where you
  195. can click BrowseΓǪ to get to where the ZanNet files are located. Once you
  196. are in the directory where the uncompressed ZanNet files are, you should
  197. see zannet.inf highlighted. Click on OK. Click on OK again in the following
  198. Install From Disk dialog. Two more OKs are required on the next two dialogs
  199. (Windows may require the installation disks after the final OK).
  200.  
  201. After rebooting your computer, look on the lower right hand corner of your
  202. screen. If the ZanNet client was installed correctly, you should see a blue
  203. ΓÇ£ZΓÇ¥. Seeing this tray icon indicates that both the ZanNet Network Provider
  204. and Network Redirector were installed correctly and have been loaded. This
  205. is also an indication that the redirector has found the proper version of
  206. TCP/IP. If you get a load error such as ΓÇ£Can't load redirectorΓÇ¥, you may
  207. not have the required version of TCP/IP.
  208.  
  209. The Unix Server
  210.  
  211. You can install the server once the client has been successfully installed.
  212. The first thing you should do is verify your Unix operating system brand
  213. (Linux, SunOS, etc.),  version, and hardware platform (Intel, Sparkstation,
  214. etc). ZanNet Beta 1 currently ships with the following Unix binaries:
  215.  
  216. zanserv.lnx --   Linux for Intel compiled with version 2.0.11
  217. zanserv.sos --   SunOS for Sparkstation compiled with version 4.1.4
  218. zanserv.bsd --   FreeBSD for Intel compiled with version 2.1-STABLE
  219. zanserv.aix --   AIX for IBM RISC System/6000 compiled with version 4.1.4
  220.  
  221. By the time you are reading this, there may be more binary support. Just
  222. check the included readme.txt file.
  223.  
  224. If you donΓÇÖt know what type of Unix your provider runs, login to your shell
  225. account and type:
  226.       uname -a
  227.  
  228. Where you will get the Unix brand, machine name, operating system version,
  229. and machine type. Check the man page on that command for your Unix
  230. implementation to see how this information is ordered (man uname).
  231.  
  232. If ZanNet provides binary support for your Unix, simply upload the
  233. appropriate binary to your shell account using FTP or similar tool. Once
  234. the file is in your home directory, you will have to make it executable.
  235. Something like this:
  236.  
  237.       chmod 755 zanserv.sos
  238.  
  239. Then, just type in the name of the binary to verify that it will load on
  240. that machine. You should get output similar to this:
  241.  
  242.       unx% zanserv.sos
  243.  
  244.  
  245.       Usage: zanserv.sos <IP Address> <Port>
  246.  
  247.  
  248.       This machine's host name is: unx
  249.       This machine's IP address is: 204.91.67.111
  250.  
  251.  
  252. If the binary does not load, you will get output like this:
  253.  
  254.       zanserv.sos: Exec format error
  255.  
  256. That output indicates that the binary is not compatible with your Unix
  257. platform. Make sure you have uploaded the correct binary. If you still
  258. canΓÇÖt get it to load read the section on Unix porting and compatibility.
  259.  
  260. Configuring Your Telnet Login Script
  261.  
  262. Once you have the server installed correctly, you are ready to edit the
  263. Telnet login script. The ZanNet client uses Telnet to automatically login
  264. to your shell account and execute the server. You must edit the login
  265. script so that the client can get through the login procedure of the Unix
  266. machine. To begin editing this script, first double click on the blue ΓÇ£ZΓÇ¥
  267. tray icon. That will bring up the ZanNet Setup dialog (discussed later).
  268. YouΓÇÖll notice that the first edit field of that dialog contains the path
  269. and file name of the login script. There is a default script called
  270. zannet.lgn that is installed to your WindowΓÇÖs system directory. Click on
  271. the EditΓǪ button located on the right of the script name to bring up
  272. Notepad and edit the script.
  273.  
  274. Looking at the scripting language, youΓÇÖll see that it is nothing
  275. complicated. If the first character of a line starts with #, it is
  276. considered a comment. Aside from that, there are a number of keywords that
  277. start each line. Currently these are defined as:
  278.  
  279. ServerName -- The Telnet host name for the shell account. Multiple servers
  280. are
  281. permitted. Raw IP addresses are NOT supported.
  282.  
  283. HomeDirectory ΓÇô The directory you want the server to use as the root.
  284. Default is your home directory.
  285.  
  286. MBDiskSpace ΓÇô Your disk space limit as defined by your service provider.
  287. Default is 5 megabytes.
  288.  
  289. SendString -- A string sent after waiting a specified time to the Telnet
  290. session. There are pre-defined variables for use with the send string. A
  291. SendString can take up to six parameters. They are:
  292.  
  293. 1. Wait String   -- The string to wait for before sending the send string.
  294. 2. Timeout       -- Number of seconds to wait.
  295. 3. Send String   -- The string to send after finding the wait string.
  296. 4. Parm1         -- First parameter for the send string.
  297. 5. Parm2         -- Second parameter for the send string.
  298. 6. Parm3         -- Third parameter for the send string.
  299.  
  300. There are a number of special replacement variables that are used in a send
  301. string. All of these variables begin with a $ and are defined as:
  302.  
  303. $Username   -- Your user name as defined in the login dialog.
  304. $Password   -- The password for that user name from the login dialog.
  305. $LocalIP    -- The Windows 95 client IP address as determined by the
  306. client.
  307. $LocalPort  -- The Windows 95 port to use for ZanServer connections as
  308.                defined in the  setup dialog.
  309. $Enter      -- A carriage return and line feed.
  310. $Connected  -- Required to acknowledge a ZanServer connection.
  311.  
  312. See the example login script for more information on how these are used.
  313.  
  314. The Setup Dialog
  315.  
  316. Going back to the setup dialog youΓÇÖll notice a number of configuration
  317. options. Additionally, there is a RegisterΓǪ button for entering your
  318. registration key if you have decided to buy the product. Here is a list of
  319. configuration options followed by brief descriptions:
  320.  
  321. Login Script and Edit Button: Allow you to change both the path and file
  322. name of your login script. The edit button brings up the Windows Notepad to
  323. edit that script.
  324.  
  325. Debug Mode On: This check box brings up a Telnet window and turns on the
  326. server debug messages. The Telnet window is useful for debugging your login
  327. script. It can also be used as a simple line mode terminal if you type a
  328. control-C to stop the server process. Make sure this is on for your first
  329. login attempt.
  330.  
  331. Windows Port: If, for some reason, your Windows 95 implementation has a
  332. conflict with the default port value of 23130, you can change the port to
  333. any value between 5,000 and 65,535. It is doubtful that you will ever have
  334. to change this value.
  335.  
  336. Keep Alive: Enabling this checkbox will cause the ZanNet client to send an
  337. ΓÇ£Are You ThereΓÇ¥ message to the Telnet server every so often to keep that
  338. connection from closing. This prevents providers from closing your Telnet
  339. session due to lack of activity.
  340.  
  341. Max. Server readdirs for Disk Space: Sets a maximum number of files the
  342. server will read to determine how much server disk space your home
  343. directory and below is using. A value of 0 will disable disk space
  344. calculation.
  345.  
  346. Stop I/O Hot-key: A hot-key sequence using the combination of the Ctrl and
  347. Alt keys with another key to stop ZanNet I/O that has been pending for a
  348. period of X seconds. A hot-key is required for cases when youΓÇÖd like to
  349. abort I/O, but canΓÇÖt get to Windows because the Windows user interface is
  350. waiting for a thread pending on ZanNet I/O. This hot-key will release those
  351. threads pending with a network error. An error beep will sound if there are
  352. no threads pending in the ZanNet redirector. (See page 13 Killing I/O).
  353.  
  354. Dead I/O in Seconds: A period of time in seconds where the ZanNet client
  355. considers an I/O request to be dead for the purposes of the Stop I/O Hot-
  356. key. This may be useful for users that have multiple ZanNet volumes and
  357. donΓÇÖt want the hot-key to abort all ZanNet I/O, just I/O that is considered
  358. dead. You may want to set this to zero for single volume usage. (See page
  359. 13 Killing I/O).
  360.  
  361. Default Server Security Attributes: Sets the default attributes that will
  362. be used for file operations on the server side. Most web page files require
  363. read/write privileges for the account owner (User) and read only access for
  364. all others (Group and World). This is the default setup for ZanNet. DonΓÇÖt
  365. change these unless you know what you are doing!
  366.  
  367. Logging In
  368.  
  369. After you have configured your login script and setup dialog, initiate a
  370. login by mapping a new Windows Network Drive. You can map a drive by right
  371. clicking on the My Computer desktop icon and selecting Map Network Drive.
  372. Windows will bring up its Map Network Drive dialog with the next available
  373. drive letter selected. In the Path edit field, you need to enter the
  374. Universal Naming Convention (UNC) path that corresponds to your serverΓÇÖs
  375. Telnet host name and the user name for your shell account. The Telnet name
  376. should correspond to whatever you specified for your ServerName in the
  377. login script. For example, if your Telnet host name is:
  378.  
  379.       login.whatever.com
  380.  
  381.  
  382. You would specify the following in the login script:
  383.  
  384.       ServerName  login.whatever.com
  385.  
  386.  
  387. And then map the new network drive to the following UNC path:
  388.  
  389.       \\login.whatever.com\myusername
  390.  
  391.  
  392. Where, myusername is the user name for your shell account and
  393. login.whatever.com is the Telnet hostname. Make sure you put double back
  394. slashes before the host name and a single back slash before the user name.
  395. The ZanNet client network provider will parse the UNC path and connect to
  396. the host using WinSock. You will have an opportunity to enter a password
  397. and may elect to cache that password. Once the connection has been
  398. established, the tray icon will turn yellow. If the server successfully
  399. connects back to your Windows machine, the tray icon will turn red.
  400.  
  401. 5. Unix Porting and Compatibility
  402.  
  403. CanΓÇÖt get a ZanNet server binary for your Unix implementation? DonΓÇÖt worry,
  404. itΓÇÖs a snap to compile the server. First thing to do is upload the files:
  405. zanserv.c and zanserv.h to your shell account. This is extremely vanilla C
  406. code written under the POSIX.1 standard. Once those files are uploaded type
  407. in the following:
  408.  
  409.       cc -o zanserv zanserv.c
  410.  
  411. The command prompt should return to you with not errors. If you got
  412. something like this:
  413.  
  414.       cc: Command not found.
  415.  
  416. That is bad news. Your service provider does not provide you with C
  417. compiler access. In this case you must either beg your provider to compile
  418. it for you, or get a ZanNet server binary from somewhere on the net. Some
  419. compilers (most notably the gcc compiler) allow you to specify multiple
  420. target machines. Perhaps you can find someone that will compile the source
  421. for your target operating system and architecture.
  422.  
  423. Verify that your binary has compiled successfully by typing zanserv at the
  424. command prompt see section 4 for the output you should get. DonΓÇÖt forget to
  425. modify your login script to match the name of the server binary!
  426.  
  427. (Note to Unix Gurus: In order to keep the compilation simple and clean we
  428. chose to keep all server code within a single C source file. Also, there is
  429. no makefile either. Though some may consider this poor project management,
  430. our design requires server simplicity both in source management and object
  431. code.)
  432.  
  433. Known Limitations,  Problems and Other Notes
  434.  
  435. The following section is a list a potential pitfalls you may encounter
  436. while using ZanNet beta 1. Some of these will be fixed in future releases,
  437. while others are design limitations. We compiled this list during our
  438. development cycle for Beta 1. Many of the listed file system requests are
  439. not supported for obvious reasons (for example direct disk I/O on a network
  440. drive). We have listed all unsupported file system requests for
  441. completeness.
  442.  
  443. No attempt is made to support older applications that use the 8.3 naming
  444. standard. Applications that cannot handle long file names with see a
  445. truncated version of any name over the 8.3 limitation and will fail if they
  446. try to manipulate that truncated file name. If you MUST use an 8.3
  447. applications, be sure to keep file names under the 8.3 limitation. The MS-
  448. DOS Prompt included with Windows 95 works fine, but some DOS commands fail,
  449. for example: DIR works, but DIR /S fails. We recommend using the Windows
  450. Explorer.
  451.  
  452. The file system request: FS_SearchFile is not supported. This request
  453. handles all older DOS find first and find next operations - the INT 21h
  454. functions: 11h, 12h, 4Eh, and 4Fh. In some cases this may break older DOS
  455. applications.
  456.  
  457. The file system request: FS_EnumerateHandle is not supported. This request
  458. handles the Win32 function: GetFileInformationByHandle() and the DOS INT
  459. 21h functions: 440Dh, subfunction 086Dh. This function is documented by
  460. Microsoft as an optional file system function. Any application the depends
  461. on this function, though in error, may fail.
  462.  
  463. The file system request: FS_LockFile is not supported. This request handles
  464. the Win32 functions: LockFile() and UnLockFile() and the DOS INT 21h
  465. function: 5Ch. All file region lock requests currently return successfully.
  466. This may break some applications (notably: Microsoft Access).
  467.  
  468. Overlapped I/O used by the Win32 functions: WriteFileEx() and ReadFileEx()
  469. is not supported by the ZanNet file system requests: FS_ReadFile and
  470. FS_WriteFile. Not many applications are using overlapped I/O, and none
  471. should be dependent on it.
  472.  
  473. Because there is currently no file caching support for ZanNet, the file
  474. system request: FS_CommitFile is not supported. This request handles the
  475. Win32 function: FlushFileIOBuffers() and DOS INT 21h function: 68H. In
  476. addition, the request FS_FlushVolume that handles DOS INT 21h 0Dh is not
  477. supported.
  478.  
  479. The file system request: FS_MountVolume is not supported. Network drives
  480. donΓÇÖt use this function.
  481.  
  482. The file system request: FS_Ioctl16Drive is not supported. This request
  483. supports the DOS INT 21h function 44h. This will break older DOS
  484. applications that try to perform direct disk I/O. Network drives donΓÇÖt
  485. support this request.
  486.  
  487. The file system request: FS_DirectDiskIO is not supported. This request
  488. supports the DOS INT 21h functions: 25h and 26h. This will break older DOS
  489. applications that try to perform direct disk I/O. Network drives donΓÇÖt
  490. support this request.
  491.  
  492. The file system request: FS_GetDiskParms is not supported. The ZanNet file
  493. system driver does not maintain DPBs. This should not effect applications.
  494.  
  495. The Windows attributes: Archive, Hidden, and System are not supported.
  496. While these attributes can be set without error, they will never be
  497. reported. This could possibly break some applications.
  498.  
  499. The FindFirst must match attributes are not yet supported. This may break
  500. some applications. Also, case sensitive file searches are not supported.
  501.  
  502. The directory entries  ΓÇ£.ΓÇ¥ and ΓÇ£..ΓÇ¥ are never reported during a directory
  503. listing. This may break some applications.
  504.  
  505. All files are opened fully read/write sharable (OF_SHARE_DENY_NONE).
  506. Sharing flags will be ignored, but will return successfully. The user must
  507. manually guard against problems with file sharing. I.e. donΓÇÖt open the same
  508. file twice over ZanNet.
  509.  
  510. Because the current version of ZanNet provides no file caching or
  511. buffering, some applications will run poorly. Most notably are file
  512. compression software packages which tend to make extremely small file
  513. system reads. Read section 7 Performance Considerations for more on this.
  514.  
  515. File size is limited to 4 gigabytes.
  516.  
  517. The disk usage report is approximate and may not exactly match statistics
  518. reported from the Unix command du. Disk space remaining is calculated by
  519. recursively traversing down the file tree starting from your home
  520. directory. If your tree is very large you should disable this feature by
  521. setting Max. Server readdirs for Diskspace to 0.
  522.  
  523. Raw IP addresses in dotted notation are not supported for Telnet logins.
  524. Some service providers map Telnet host names to IP addresses on-the-fly
  525. depending on system load. A Raw IP address, without a name lookup, would
  526. break this model.
  527.  
  528. You cannot browse a ZanNet network through the Windows Network
  529. Neighborhood. ZanNet does not really fit into this method of browsing. This
  530. feature may be added in the future.
  531.  
  532. Command line NET commands such as NET USE are not supported and may cause
  533. unpredictable results.
  534.  
  535. You cannot map multiple drive letters to a single shell account. You can,
  536. however, map multiple drive letters to multiple, different shell accounts.
  537.  
  538. Some service providers do not allow multiple logins to a single shell
  539. account through Telnet. With a provider such as this, a mapped ZanNet drive
  540. will make it impossible for you to login with a regular Telnet program.
  541. Simply disconnect the ZanNet drive to resolve this contention. You may also
  542. break into the server program through the ZanNet server debug window with a
  543. control-C and execute line mode commands. To restart the server, just log-
  544. out of the Telnet session and the ZanNet client will re-establish the
  545. connection.
  546.  
  547. The ZanNet server must be running on the same IP address that you Telnet in
  548. to. In some rare cases, a provider may route your Telnet login to another
  549. machine that does not match what the name server returned to the ZanNet
  550. client.
  551.  
  552. Right mouse button click on .exe files results in many file system calls
  553. and will respond very slowly on slow connections.
  554.  
  555. Basing your server to the Unix system root is very slow because all server
  556. paths must be mapped to Windows paths. We suggest that you use the default
  557. for best performance.
  558.  
  559. 7. Performance Considerations
  560.  
  561. When you are using the ZanNet Beta, there are a number of things to kind in
  562. mind. First of all, if you have never have experienced a network drive over
  563. a slow connection such as a with a modem, you may find it very frustrating
  564. to use this product. There is just no comparison between hard drive speeds
  565. and modem speeds. Additionally, many applications are developed on, and
  566. designed for hard drives, and or, high speed local area networks. Some such
  567. applications use a ridiculous number of file system requests. For example,
  568. we have seen a few that make sure the file is present (FindFirstFile()) for
  569. every mouse click! Even though there is very little data transferred in
  570. this scenario, just the ping time can cause a one second delay for that
  571. mouse click. We leave it up to you to weed out any such applications. For
  572. example, Windows Notepad works great for a quick update of HTML, while some
  573. HTML specific editors get a little carried away with backup files, etc.
  574.  
  575. The Status Dialog
  576.  
  577. Another thing to keep in mind is buffer sizes. Try right mouse clicking on
  578. the ZanNet tray icon. Select Status. That will bring up the ZanNet Status
  579. dialog. Our network redirector posts status for file open, close, read, and
  580. write to this dialog for all volumes. Here is a rundown on the fields of
  581. the status dialog:
  582.  
  583. Server:     The server name in UNC format (ex.
  584. \\login.whatever.com\myusername).
  585. File:            The name of the file (ex. index.html).
  586. Operation:  What kind of operation just completed (ex. Write).
  587. Buffer Size:     The size of the data buffer for that operation (ex. 16384)
  588. File Position:   The current file position after that operation. (ex.
  589. 97792)
  590. Speed:      How much time in kilobytes per second that operation took (ex.
  591. 2.6k/sec).
  592. Last Update:     When the status was last updated (ex. 16:1:21)
  593.  
  594. For example, suppose you are extracting a file from a .ZIP archive and you
  595. notice it is taking an incredibly long time. After pulling up the status
  596. dialog, you see that the application is performing many tiny reads of less
  597. than 20 bytes. The application is depending on file caching for good
  598. performance. Unfortunately, ZanNet Beta 1 has no file caching, and is not
  599. even pre-fetching data. Those little buffers are adding a HUGE overhead
  600. because a read request must be sent to the server to fill each buffer. Our
  601. recommendation here is to not use this application on ZanNet until we add
  602. file caching in a future release.
  603.  
  604. Another Windows caveat to keep in mind has to do with the Windows Explorer.
  605. For whatever reason, the Explorer seems to be single-threaded, and tunes
  606. its buffer sizes to match the speed of your connection! That way, a very
  607. poor connection may have 512 byte file copy buffers, while a better
  608. connection may use 4096 byte buffers. Why do you care? The current ZanNet
  609. design, to allow for simplicity in addition to random access, does not
  610. stream data. Therefor, each read (or write) must be requested by the client
  611. adding somewhere around the ping time for each read. For example, if it
  612. takes ┬╝ of a second to reach a given server, that time is added as overhead
  613. for each read buffer. Take a 100,000 byte file with Explorer using 4096
  614. byte buffers. 100,000 divided by 4096 is around 24. Multiply that by ┬╝
  615. seconds gives you an overhead of about 6 seconds. Not bad, but if you do
  616. the math for a 10MB file using 512 bytes buffers, youΓÇÖll see why we think
  617. this is a concern.
  618.  
  619. Also, know that the Explorer does a connection speed calculation before it
  620. copies a file. Could be a problem if your connection is flaky during this
  621. time. Our recommendation for these issues. For very large files that you
  622. copy often, make a batch file and use a regular command line copy. That way
  623. youΓÇÖll be using the ZanNet default buffer size of 16,384 bytes. For smaller
  624. files, donΓÇÖt worry about it.
  625.  
  626. Killing I/O
  627.  
  628. We all are painfully aware by now that the Internet if far from perfect.
  629. Most popular WinSock applications have some kind of stop button or other
  630. mechanism to abort a file transfer. The ZanNet design required the same
  631. functionality, but, because the ZanNet client is a network redirector
  632. running as a VxD, a simple button would not suffice. Though you may not be
  633. aware of it, there are many cases where Windows locks the user front-end
  634. waiting for I/O (Explorer does this). Makes it kind of hard to click on a
  635. button!
  636.  
  637. Killing I/O With the Hot-Key
  638.  
  639. We solved the I/O killing problem with a variety of techniques. The first,
  640. and probably most powerful, is a hot-key sequence. This hot-key goes
  641. directly to the ZanNet redirector VxD. The actual hot-key can be configured
  642. in the ZanNet Setup. In that setup, youΓÇÖll notice something called: Dead
  643. I/O in Seconds. When you hit the hot-key, the redirector goes through it
  644. entire list of  I/O requests for all ZanNet volumes. Each request that has
  645. been waiting for a response for more than the dead I/O seconds value is
  646. flagged as an ΓÇ£Unexpected Network ErrorΓÇ¥ and the application thread is
  647. released with that error code set. You can set Dead I/O in Seconds to 0 to
  648. make the redirector abort everything.
  649.  
  650. When the thread that requested ZanNet I/O returns, the application sees the
  651. error and hopefully aborts I/O. Many times the application will request a
  652. file close after the returned error in which case youΓÇÖll have to hit the
  653. hot-key again. You may have to kill the application if it does not behave
  654. properly. Of course, itΓÇÖs always best to disconnect the network drive for
  655. problem servers if you can get to Windows.
  656.  
  657. Killing I/O with the ZanNet Status Dialog Buttons
  658.  
  659. The ZanNet status dialog contains two stop I/O buttons. The first called
  660. Stop This FileΓÇÖs I/O will stop I/O (in the same way as the hot-key) for the
  661. file listed in the status dialog only. This method is much less destructive
  662. than the hot-key because it will only abort a given fill, not the every
  663. pending request. Please note that you should always try to use whatever the
  664. application provides for stopping a request first. For example, the
  665. explorer has a Cancel button for file copies.
  666.  
  667. The other button in the status dialog is Stop All ZanNet I/O Now! This one
  668. produces the same effect as a hot-key sequence with a 0 second dead I/O
  669. value (see above). There is also a menu item on the tray icon called Abort
  670. All Dead I/O which has the exact effect as the hot-key
  671.  
  672. 8. Ordering Information
  673.  
  674. Current ordering methods are e-mail, regular mail, and fax. Payment options
  675. are check, credit card, and purchase order ($500 minimum for purchase
  676. order). All orders must include a properly filled out order form. This form
  677. is contained in the enclosed file: order.doc. You may fill out the form on
  678. your computer with an editor and send it electronically, or print it out
  679. and hand write it for regular mail or fax. Multi-user pricing is included
  680. in the order form.
  681.  
  682. Entering Your Registration Key
  683.  
  684. Your order will be processed within a 24 hour period after which time you
  685. will receive a registration key. That key should be entered in the ZanNet
  686. registration dialog. You can bring this dialog up with the ZanNet Setup |
  687. Register button. Within that dialog, enter your first name, last name, and
  688. the key supplied  by Zan Software. Make sure you use the same first and
  689. last name as supplied with your key.
  690.  
  691. 9. Product Support
  692.  
  693. Initial contact for product support must be made through e-mail, fax, or
  694. regular mail. In your problem description, please state your name, e-mail
  695. address, and phone number. If your problem cannot be easily resolved via e-
  696. mail, you will be given a support number to call.
  697.  
  698. 10. Zan Software Contact Information
  699.  
  700. Zan Software
  701. 332 SE 7th Ave.
  702. Delray Beach, FL 33483
  703.  
  704. E-mail: zan@gate.net
  705. Web: www.gate.net/~zan
  706. Fax: (561) 278-1373
  707. Phone:  Please e-mail us for a voice number. Sorry, no orders taken over
  708. the phone.
  709.  
  710.  
  711.  
  712.  
  713.